Using 0 as *const T or 0 as *mut T to represent a null pointer is error-prone and less readable. It can lead to confusion
and potential bugs, as it is not immediately clear that 0 is intended to represent a null pointer. Additionally, using 0 for
null pointers is not idiomatic Rust, and it can make the code harder to understand and maintain.